// Generated from ExprSyntax.g4 by ANTLR 4.9.2

package com.xrui.myexprparser;

import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link ExprSyntaxParser}.
 */
public interface ExprSyntaxListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#expressions}.
	 * @param ctx the parse tree
	 */
	void enterExpressions(ExprSyntaxParser.ExpressionsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#expressions}.
	 * @param ctx the parse tree
	 */
	void exitExpressions(ExprSyntaxParser.ExpressionsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#queryexpression}.
	 * @param ctx the parse tree
	 */
	void enterQueryexpression(ExprSyntaxParser.QueryexpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#queryexpression}.
	 * @param ctx the parse tree
	 */
	void exitQueryexpression(ExprSyntaxParser.QueryexpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code isExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterIsExpression(ExprSyntaxParser.IsExpressionContext ctx);
	/**
	 * Exit a parse tree produced by the {@code isExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitIsExpression(ExprSyntaxParser.IsExpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code notExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterNotExpression(ExprSyntaxParser.NotExpressionContext ctx);
	/**
	 * Exit a parse tree produced by the {@code notExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitNotExpression(ExprSyntaxParser.NotExpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code logicalExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterLogicalExpression(ExprSyntaxParser.LogicalExpressionContext ctx);
	/**
	 * Exit a parse tree produced by the {@code logicalExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitLogicalExpression(ExprSyntaxParser.LogicalExpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code predicateExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterPredicateExpression(ExprSyntaxParser.PredicateExpressionContext ctx);
	/**
	 * Exit a parse tree produced by the {@code predicateExpression}
	 * labeled alternative in {@link ExprSyntaxParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitPredicateExpression(ExprSyntaxParser.PredicateExpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code expressionAtomPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterExpressionAtomPredicate(ExprSyntaxParser.ExpressionAtomPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code expressionAtomPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitExpressionAtomPredicate(ExprSyntaxParser.ExpressionAtomPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code binaryComparisonPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterBinaryComparisonPredicate(ExprSyntaxParser.BinaryComparisonPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code binaryComparisonPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitBinaryComparisonPredicate(ExprSyntaxParser.BinaryComparisonPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code inPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterInPredicate(ExprSyntaxParser.InPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code inPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitInPredicate(ExprSyntaxParser.InPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code betweenPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterBetweenPredicate(ExprSyntaxParser.BetweenPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code betweenPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitBetweenPredicate(ExprSyntaxParser.BetweenPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code isNullPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterIsNullPredicate(ExprSyntaxParser.IsNullPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code isNullPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitIsNullPredicate(ExprSyntaxParser.IsNullPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code likePredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterLikePredicate(ExprSyntaxParser.LikePredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code likePredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitLikePredicate(ExprSyntaxParser.LikePredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code regexpPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void enterRegexpPredicate(ExprSyntaxParser.RegexpPredicateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code regexpPredicate}
	 * labeled alternative in {@link ExprSyntaxParser#predicate}.
	 * @param ctx the parse tree
	 */
	void exitRegexpPredicate(ExprSyntaxParser.RegexpPredicateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code unaryExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterUnaryExpressionAtom(ExprSyntaxParser.UnaryExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code unaryExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitUnaryExpressionAtom(ExprSyntaxParser.UnaryExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code constantExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterConstantExpressionAtom(ExprSyntaxParser.ConstantExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code constantExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitConstantExpressionAtom(ExprSyntaxParser.ConstantExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code fullColumnNameExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterFullColumnNameExpressionAtom(ExprSyntaxParser.FullColumnNameExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code fullColumnNameExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitFullColumnNameExpressionAtom(ExprSyntaxParser.FullColumnNameExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code bitExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterBitExpressionAtom(ExprSyntaxParser.BitExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code bitExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitBitExpressionAtom(ExprSyntaxParser.BitExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code nestedExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterNestedExpressionAtom(ExprSyntaxParser.NestedExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code nestedExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitNestedExpressionAtom(ExprSyntaxParser.NestedExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code mathExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterMathExpressionAtom(ExprSyntaxParser.MathExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code mathExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitMathExpressionAtom(ExprSyntaxParser.MathExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by the {@code existsExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void enterExistsExpressionAtom(ExprSyntaxParser.ExistsExpressionAtomContext ctx);
	/**
	 * Exit a parse tree produced by the {@code existsExpressionAtom}
	 * labeled alternative in {@link ExprSyntaxParser#expressionAtom}.
	 * @param ctx the parse tree
	 */
	void exitExistsExpressionAtom(ExprSyntaxParser.ExistsExpressionAtomContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#fieldName}.
	 * @param ctx the parse tree
	 */
	void enterFieldName(ExprSyntaxParser.FieldNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#fieldName}.
	 * @param ctx the parse tree
	 */
	void exitFieldName(ExprSyntaxParser.FieldNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#literal}.
	 * @param ctx the parse tree
	 */
	void enterLiteral(ExprSyntaxParser.LiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#literal}.
	 * @param ctx the parse tree
	 */
	void exitLiteral(ExprSyntaxParser.LiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#integerLiteral}.
	 * @param ctx the parse tree
	 */
	void enterIntegerLiteral(ExprSyntaxParser.IntegerLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#integerLiteral}.
	 * @param ctx the parse tree
	 */
	void exitIntegerLiteral(ExprSyntaxParser.IntegerLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#floatLiteral}.
	 * @param ctx the parse tree
	 */
	void enterFloatLiteral(ExprSyntaxParser.FloatLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#floatLiteral}.
	 * @param ctx the parse tree
	 */
	void exitFloatLiteral(ExprSyntaxParser.FloatLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#constant}.
	 * @param ctx the parse tree
	 */
	void enterConstant(ExprSyntaxParser.ConstantContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#constant}.
	 * @param ctx the parse tree
	 */
	void exitConstant(ExprSyntaxParser.ConstantContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#unaryOperator}.
	 * @param ctx the parse tree
	 */
	void enterUnaryOperator(ExprSyntaxParser.UnaryOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#unaryOperator}.
	 * @param ctx the parse tree
	 */
	void exitUnaryOperator(ExprSyntaxParser.UnaryOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#bitOperator}.
	 * @param ctx the parse tree
	 */
	void enterBitOperator(ExprSyntaxParser.BitOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#bitOperator}.
	 * @param ctx the parse tree
	 */
	void exitBitOperator(ExprSyntaxParser.BitOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#mathOperator}.
	 * @param ctx the parse tree
	 */
	void enterMathOperator(ExprSyntaxParser.MathOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#mathOperator}.
	 * @param ctx the parse tree
	 */
	void exitMathOperator(ExprSyntaxParser.MathOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#logicalOperator}.
	 * @param ctx the parse tree
	 */
	void enterLogicalOperator(ExprSyntaxParser.LogicalOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#logicalOperator}.
	 * @param ctx the parse tree
	 */
	void exitLogicalOperator(ExprSyntaxParser.LogicalOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#comparisonOperator}.
	 * @param ctx the parse tree
	 */
	void enterComparisonOperator(ExprSyntaxParser.ComparisonOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#comparisonOperator}.
	 * @param ctx the parse tree
	 */
	void exitComparisonOperator(ExprSyntaxParser.ComparisonOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#nullNotnull}.
	 * @param ctx the parse tree
	 */
	void enterNullNotnull(ExprSyntaxParser.NullNotnullContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#nullNotnull}.
	 * @param ctx the parse tree
	 */
	void exitNullNotnull(ExprSyntaxParser.NullNotnullContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#orderByClause}.
	 * @param ctx the parse tree
	 */
	void enterOrderByClause(ExprSyntaxParser.OrderByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#orderByClause}.
	 * @param ctx the parse tree
	 */
	void exitOrderByClause(ExprSyntaxParser.OrderByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ExprSyntaxParser#orderByExpression}.
	 * @param ctx the parse tree
	 */
	void enterOrderByExpression(ExprSyntaxParser.OrderByExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ExprSyntaxParser#orderByExpression}.
	 * @param ctx the parse tree
	 */
	void exitOrderByExpression(ExprSyntaxParser.OrderByExpressionContext ctx);
}